﻿#region Copyright ©2008-2010, Technische Universitaet Muenchen
// ====================================================================================================
//
// Last Changed by       $Author: kalus $
// Last Changed Date     $LastChangedDate: 2009-05-15 17:00:33 +0200 (Fri, 15 May 2009) $
// Last Changed Revision $Rev: 141 $
//
// ====================================================================================================
#endregion


namespace Tum.CollabXT.Simulator
{
   class ProductInstance
   {
      private int _version;
      private string _name;
      private SystemElement _systemElement;

      public int Version
      {
         get { return _version; }
         set { _version = value; }
      }

      public string Name
      {
         get 
         { 
            return _name + " (v" + _version + ")"; 
         }
      }

      public SystemElement SystemElement
      {
         get { return _systemElement; }
         set { _systemElement = value; }
      }

      public ProductInstance(string name, int version)
      {
         _name = name;
         _version = version;
      }
   }

   class ProductSpecification
   {
      public enum CreationType
      {
         Once,
         ForEachSystemElement,
         ForMilestone
      }

      private IArtifact _productType;
      private CreationType _creation;

      public CreationType Creation
      {
         get { return _creation; }
      }

      public ProductSpecification(IArtifact productType, CreationType creation)
      {
         _productType = productType;
         _creation = creation;
      }
   }
}
